SSH遠端跑模型訓練,如果沒有特別的設定,在關閉連線後進程就會被終止。以下提供快速設定不中斷的入門指令。
使用nohup
加上&
指令持續在遠端機上跑程式。以Python腳本為例:
$ nohup python -u SCRIPT.py > OUTPUT.txt 2>&1 &
nohup
是不掛斷的指令,no hang up的縮寫。SCRIPT.py
是要跑的腳本,可以加引數。OUTPUT.txt
為紀錄想要輸出的檔案,副檔名不一定要用.txt
,如果不想要輸出的話將這項改為/dev/null
。注意tqdm
的進度條會一直堆疊,建議要關掉。-u
讓Python可以正常輸出至OUTPUT.txt
。&
後綴是將進程放到背景去跑,同時會返回進程序號(PID)。2>&1
是一些慣用的輸出設定,詳細的解釋可查閱參考。$ kill -9 PID
PID
為該進程序號,如果沒有記下來的話可透過ps
指令查找。
$ ps -aux | grep SCRIPT.py
SCRIPT.py
為腳本名稱,此項參數為搜尋關鍵字。
How to run Node.js as a background process and never die?
Nohup is not writing log to output file
Linux nohup 命令